1. Redes

Videos:
https://open.fing.edu.uy/courses/fsi/15/
https://open.fing.edu.uy/courses/fsi/16/
https://open.fing.edu.uy/courses/fsi/17/
https://open.fing.edu.uy/courses/fsi/18/
https://open.fing.edu.uy/courses/fsi/19/
https://open.fing.edu.uy/courses/fsi/20/

Diapositivas:

[[redes_conceptos_basicos.pdf]]
[[redes_problemas.pdf]]
[[redes_ipsec_mitigacion.pdf]]
[[redes_mitigacion_VLAN_VPN.pdf]]
[[redes_mitigacion_firewalls.pdf]]
[[redes_mitigacion_sensores.pdf]]

Conceptos básicos

Problemas TCP

  • Por cada conexión establecida o en proceso de establecerse el equipo consume recursos.
    • Ataques de negación de servicio (SYN Flooding). #parcial
  • Si el número de secuencia es predecible, podría establecer una conexión “ciega” o insertar datos en otra conexión.
    • Session Hijacking.

Pasted image 20240609234627.png

Enrutamiento

  • Cada enrutador en el camino de origen a destino debe conocer como llegar al destino.
    • Rutas estáticas: configuradas manualmente.
    • Rutas dinámicas: protocolos de ruteo.
  • Los enrutadores e información de ruteo son targets atractivos para un atacante.
    • Negación de servicio.
    • Redirección de tráfico.
  • En IP, no hay indicación del origen real del paquete.
    • Esto abre la puerta al IP Spoofing:
      Mitigable con firewalls y configuraciones a nivel router como filtrado o Unicast Reverse Path Forwarding para chequear los paquetes.

Problemas

Capa 3

  • Servicio de datagramas. No hay garantías de entrega/duplicados/retardos. No hay garantías de origen.
    • Cualquier equipo puede enviar un paquete con IP de origen arbitraria.
    • Algunos proveedores filtran, otros no.
  • IPv4 e IPv6, muy similares en sus características de seguridad.
  • IPSec es obligatorio (de implementar) en IPv6.

IP

  • Salvo en ambientes muy controlados, no puede garantizarse la relación IP <-> máquina.
    • En Internet, ni siquiera IP <-> empresa.
  • Es muy difícil rastrear un ataque proveniente de Internet con direcciones origen modificadas.

Capa 2 #parcial

Mapeo de direcciones IP y MAC

  • ARP: Protocolo para el mapeo de dirección de capa 3 (IP) a dirección de capa 2 (MAC).
  • Protocolo muy sencillo.
    • A envía consulta por Broadcast pidiendo MAC correspondiente a la IP B.
    • "B" responde.
    • Cualquiera puede responder.

ARP Spoofing #parcial

  • La mayoría de los sistemas aceptan respuestas a preguntas que no hicieron, o actualizan su cache ante un pedido.
  • Si lo "refresco" suficientemente seguido, no hará un nuevo pedido broadcast.
  • Permite ataques Man In The Middle, escuchas, negación de servicio, etc.
  • Es lo que se utilizó en el primer laboratorio.
ARP Spoofing "soluciones" #parcial
  • Configuración de entradas ARP estáticas.
  • Separación de redes críticas.
  • Monitoreo de cambios en las entradas de ARP.
  • Encriptación en capas superiores.
  • Algunos equipos, al recibir un ARP donde cambia un mapeo existente IP-MAC, mandan una consulta ARP a la vieja MAC. Solo funciona si la entrada aún está en cache.

Otros problemas en capa 3

  • Ataques a los protocolos de ruteo
    • Si puedo modificar la información de ruteo, puedo encaminar tráfico importante por donde no debería.
    • Es común que los protocolos de ruteo interno se ejecuten sin medidas de seguridad (aunque estas estén disponibles).
    • Con ruteo externo (BGP), el mayor peligro son publicaciones a través de proveedores que no filtren adecuadamente a sus clientes.
  • Ataques con paquetes de control (ICMP)

Capa 4 en Internet

  • UDP (servicio de datagrama): junto con IP, muy fácil hacer spoofing de solicitudes (ej. DNS).
    • Muy difícil distinguir solicitudes válidas de inválidas. No hay estado en las solicitudes.

TCP #parcial

  • Orientado a conexión, confiable.
    • Número de secuencia para detectar segmentos duplicados, faltantes, reordenados, fuera de secuencia.
    • Suma de comprobación para detectar errores de transmisión.
    • No sirve para detectar modificación maliciosa.
  • Establecimiento de conexión de 3 vías.
Establecimiento de conexión en TCP

Pasted image 20240609235737.png

Insertar datos en una conexión
  • Si yo quiero insertar datos en una conexión, debo conocer:
    • Puertos origen y destino.
    • IP origen y destino.
    • Números de secuencia dentro de la ventana del receptor.
  • Idem para establecer una conexión "a ciegas".
  • El número de secuencia inicial se elige "aleatoriamente", no solo en base a un reloj como se hizo inicialmente.
TCP Session Hijacking

Pasted image 20240609235858.png
Pasted image 20240609235906.png

Otras debilidades
  • Por cada conexión, se debe guardar estado (incluso antes de completarse).
    • SYN Flooding: inundación de paquetes de establecimiento de conexión. Se ocupan recursos en conexiones que nunca se terminarán de establecer. Hay paliativos. #parcial
    • Llenado de la tabla de conexiones establecidas.
  • Ataques con TCP reset (DOS).
  • Ataques con ICMP unreachable.
  • Ataques con ICMP must-fragment.

Capa de aplicación

  • Donde se encuentran los servicios que le interesan al usuario.
  • Miles de potenciales servicios.
    • Muchos de ellos sin ninguna consideración por la seguridad en su diseño.
    • Otros mal implementados.
  • Algunos servicios se consideran parte de la infraestructura.
    • DNS.
  • Para conectarse a un determinado servicio, se utiliza el puerto de capa de transporte del mismo.
    • Servicios bien conocidos. Ejemplos: http(80), smtp(25), pop3(110), ntp(123), dns (53), etc.
    • Otros. Pueden tener puertos fijos o algún servicio de directorio.
  • Portscan: búsqueda de servicios abiertos en una dirección o rango de direcciones.
    • Intento de conexión a muchos puertos.

DNS

  • Resolución de nombres.
  • Sistema distribuido.
    • Zonas de autoridad, con sus servidores autoritativos.
    • Servidores recursivos que guardan cache.
  • Las consultas utilizan UDP.
  • 13 servidores “raíz” (13 direcciones IP), necesarios para comenzar cualquier búsqueda.
¿Por qué es crítico? #parcial
  • Si no funciona, la mayoría de los servicios serían inalcanzables por la mayoría de los usuarios.
  • Si se modifican datos maliciosamente, se puede redirigir tráfico a un sitio ilegítimo o negar servicio.
    • Phishing y otros ataques.
Problemas del DNS
  • Bugs de seguridad en servidores desactualizados (BIND estándar de facto).
  • Cache corruption: ante una pregunta, el servidor devuelve datos relevantes para otra consulta, falsos. Versiones viejas de servidores recursivos caían en esta trampa.
  • No hay ninguna autenticación de las respuestas.
  • Bugs en los clientes.
    • Aceptar respuestas a consultas que no se hicieron.
  • Puede brindar información sobre los servicios brindados externamente (e internamente si los ponemos en el DNS).
    • Es común utilizar “split dns” (visiones distintas según desde donde o a qué servidor consultemos).
  • Separar servidores internos (recursivos) de los externos, para evitar intentos de cache poisoning desde afuera.
  • Problemas de seguridad en los registros de nombres de dominio.

Otras aplicaciones

  • Cualquier aplicación accesible a través de una red es susceptible de ser atacada si tiene bugs en su implementación.
  • Históricamente, la cantidad de bugs de seguridad en servidores de todo tipo es alta.
  • A veces nos olvidamos que, por ejemplo, una impresora con conexión de red es tan vulnerable como nuestros servidores.
  • Algunos ejemplos se verán la semana que viene.

Ataques comunes en redes

  • Pruebas y escaneos: intentos de obtener información de sistemas remotos. Típicamente como precursores de futuros ataques.
  • Envío de paquetes que exploten vulnerabilidades en las implementaciones de los protocolos o las aplicaciones.
  • Captura de paquetes (packet sniffing) – capturar paquetes que pasan por la red y obtener información sensible.
  • Negación de servicio (denial of service) – generar peticiones que carguen excesivamente o hagan colapsar un equipo o enlace.
  • Spoofing – hacerse pasar por otra máquina (u otro usuario).
Portscans
  • Típicamente ataque “de reconocimiento”.
  • Búsqueda de servicios disponibles.
  • Detección de versiones.
  • “Fingerprint” del Sistema Operativo, parches.
Ataques de negación de servicios
  • Hemos visto que pueden ser causados por problemas en varias capas.
    • ARP spoofing.
    • Ataques a los protocolos de ruteo.
    • Llenado de tablas de información de conexiones.
    • Modificación de entradas en el DNS.

Seguridad IP (IPSec)

Introducción

  • IP es un protocolo de mejor esfuerzo, sin ninguna previsión respecto a la seguridad.
  • IPSec (IP Security) agrega previsiones para lograr confidencialidad, autenticación, control de integridad.
  • Agregar seguridad en capa 3 permite asegurar aplicaciones sin modificarlas.
  • Su uso más común hoy en día es para la realización de redes privadas virtuales (VPN).

IPsec

  • Opcional para IPv4, obligatorio para IPv6.
    • Obligatorio implementarlo, no usarlo :)
  • Provee dos mecanismos (protocolos) de seguridad:
    • Authentication Header (AH).
    • Encapsulating Security Payload (ESP).

Uso típico de IPSec

Pasted image 20240701203613.png

Servicios de IPSec

  • Control de acceso.
  • Integridad.
  • Autenticación de origen.
  • Rechazo de paquetes replay.
  • Confidencialidad.
  • Confidencialidad limitada de flujo de tráfico.

Asociaciones de Seguridad (SA) #parcial

  • Define en una conexión IPsec una relación unidireccional entre emisor y receptor.
  • Es el estado que deben compartir los hosts para una comunicación unidireccional.
  • Típicamente se crean en pares.
  • Definido por:
    • SPI (Security Parameters Index).
    • IP (origen y) destino.
    • Identificador del protocolo de seguridad AH (51) o ESP (50).
      #parcial

Parámetros de la SA

  • La SA del emisor tiene asociados los parámetros necesarios para la comunicación:
    • Número de Secuencia (32 bits).
    • Datos criptográficos (algoritmos, claves, duración de las claves, vectores de inicialización).
    • Modo (túnel o transporte).
    • Maximum Transmission Unit (MTU).
  • Cada equipo tiene una base de datos de SA (SAD).
  • El SPI viaja en el encabezado AH o ESP.
  • Vamos a poder tener SA anidadas (ver ejemplo).

Modos de funcionamiento #parcial

Uso en modo transporte

  • Pensado para encriptación (ESP) punta a punta.
  • Encripta solo el payload y autentica todo el paquete (headers y payload).

Pasted image 20240701203844.png

Uso en modo túnel

  • Pensado para encriptación entre equipos intermedios.
  • El paquete a proteger se encapsula completo dentro de otro paquete IP.
  • Encripta y autentica todo el paquete original.

Pasted image 20240701203857.png

Protocolo AH (Authentication Header)

  • Provee solo integridad y autenticación de paquetes IP, no confidencialidad.
  • Se basa en el uso de un código de autenticación de mensaje (MAC):
    • Emisor y receptor deben compartir una clave secreta.
  • Sirve como protección contra IP spoofing.

Authentication Header

Pasted image 20240701203718.png
Atención: La función de HASH (HMAC) se calcula solo sobre aquellos campos del “IP Header” que no se modifican en tránsito (inmutables).

Formato del encabezado AH

Pasted image 20240701203739.png

Protocolo ESP (Encapsulating Security Payload)

  • Confidencialidad.
  • (Opcionalmente) los mismos servicios de autenticación que AH.
  • Soporta varios algoritmos de encriptación.

Encription Header

Pasted image 20240701203802.png
Nota: ESP AUTH no se calcula igual que en el protocolo AH. No toma en cuenta el encabezado IP en la función MAC.

Otra vista

Pasted image 20240701203830.png

Transporte y Tunnel

Pasted image 20240701204116.png

IPSec Key Management

  • IPsec necesita una gran cantidad de claves simétricas:
    • Una clave por cada SA.
    • Distintas SA para cada combinación de: {ESP,AH} x {tunnel,transport} x {sender, receiver}.
  • Soluciones:
    • Configurar manualmente las claves y SA.
    • IKE: Internet Key Exchange [RFC 2409].
    • Oakley / ISAKMP.

Internet Key Exchange (IKE) #parcial

  • Autenticación de entidades y generación de una clave compartida (usada para generar las otras claves).
  • Negociación de algoritmos.
  • Dos fases:
    • Fase 1: Establecimiento de un SA inicial, autenticación de entidades, intercambio de claves.
      • Autenticación basada en firmas y claves compartidas, o en criptografía de clave pública.
    • Fase 2: Se negocian SAs para uso general.
  • Soluciona el problema de administración de sesión, claves, etc.

Políticas de IPSec

  • Indican el procesamiento de seguridad que debe aplicarse a un paquete IP.
  • Puede seleccionarse por:
    • Direcciones IP de origen y/o destino (rangos, subredes).
    • Protocolo de transporte.
    • Puertos de capa de transporte.
    • etc.

IPSec y filtrado

  • IKE: UDP puerto 500.
  • AH: IP protocolo 51.
  • ESP: IP protocolo 50.

¿Qué pasa con los firewalls centralizados si se populariza la encriptación extremo a extremo?
¿Qué pasa si se permiten los puertos 51 y 50, pero no el 500?
IPSec se vuelve impracticable.

Redes Privadas Virtuales (VPN)

¿Qué es una VPN? #parcial

  • Una estructura de red que permite el tráfico de información privada sobre una infraestructura de red pública.
  • Las redes privadas virtuales (VPN) tienen muchos años de existencia.
  • Se han utilizado muchas tecnologías para ello.
  • Uno de los modelos de VPN, muy popular (especialmente por su bajo costo), son las VPN sobre Internet.

VPNs sobre Internet

  • Aquí directamente estamos utilizando una red insegura (internet) para interconectar redes seguras (uso más común #parcial).
  • Es imprescindible agregar seguridad.
  • La forma estándar es mediante túneles y encriptación.
  • Grandes familias:
    • IPSec
    • SSL
    • PPTP, L2TP

VPNs utilizando IPSec #parcial

  • La forma estándar es utilizar IPSec en modo túnel entre equipos de ambas redes seguras.
  • Por ejemplo, entre los firewalls.
  • También entre un equipo conectado a Internet y el firewall de la empresa (Road Warriors), por ejemplo, para acceso remoto desde el hogar o durante un viaje.
  • En la política de IPSec se configura qué tráfico debe ir por el túnel y cuál no.

Protección

  • En las VPNs mediante IPSec, se conecta la red remota (o host remoto) directamente al equipo que termina el túnel.
  • El filtrado que se puede hacer es el mismo que se realiza en el firewall para cualquier red.

VPNs usando SSL/TLS #parcial

  • Diversos tipos de solución de VPN que utilizan como base SSL.
  • Algunos de ellos no son más que un proxy a través de una página web segura.
    • En algunos casos, esto puede ser una ventaja.
    • Permite acceso a través de un navegador estándar.
  • Otros permiten diversos tipos de acceso, llegando a una conexión remota completa.
  • Otras soluciones son más bien un híbrido. Ej: OpenVPN.

Seguridad

  • Un problema, si se utilizan para el acceso remoto, es la seguridad del equipo que se conecta.
  • En particular, las VPNs con SSL se suelen promocionar con "conéctese desde cualquier máquina con un navegador".
  • Hay que evaluar qué derechos de acceso se les da a los ingresos por estos caminos.
  • La granularidad de acceso suele ser mayor.

VLAN (Virtual LAN 802.1Q) #parcial

  • Mecanismo para definir distintos dominios de broadcast a nivel ethernet.
  • Normalmente se define a nivel de los switches de una LAN.
  • Usados para definir distintas zonas o segmentos de red (capa 2 - IP).
  • Se pueden asociar a "grupos de puertos de uno o más switches de comunicación" o "subredes IP".

Firewalls

Introducción

  • Los firewalls son una de las principales herramientas disponibles para mejorar la seguridad de una red.
  • El término firewall engloba muchos equipos con distintas características y funciones.
  • Veremos sus funciones básicas y distintas arquitecturas.

¿Qué es un firewall? #parcial

  • Un equipo o conjunto de equipos que controlan el flujo de tráfico entre dos o más segmentos de la red.
  • Implementan una política de control de tráfico expresada en su configuración.
  • Hay diversos tipos (y diversas definiciones).
  • Veremos las funciones típicas que cumplen y las arquitecturas en que se usa.
  • Hablaremos solamente de firewalls para IP.

¿Qué puede hacer un firewall? #parcial

  • Proveer un punto único para un conjunto de decisiones de seguridad.
  • Hacer cumplir (partes de) una política de seguridad.
  • Generar logs de uso (y abuso) de la red eficientemente.
  • Limitar la exposición de servicios y equipos.

¿Qué NO puede hacer un firewall?

  • Proteger ante tráfico que no pasa por el firewall, por ejemplo, entre equipos internos.
  • Detener todos los virus.
  • Detener ataques a través del tráfico permitido, por ejemplo, si permito tráfico web, una página maliciosa podrá atacar los equipos de quien la acceda.
  • Configurarse solo correctamente.

Filtrado de paquetes sin estado #parcial

  • Función básica en casi cualquier arquitectura de firewall.
  • A partir de un conjunto de reglas, se especifica qué paquetes se permite pasar por el firewall.
  • En su forma más básica, se toman decisiones en función de los datos de los encabezados de capa 3 y 4 (podría también hacerse en función de datos de capa MAC).
  • Se puede implementar en enrutadores, equipos unix/linux, equipos especializados.

¿Qué se puede filtrar con estos filtros?

  • Se puede filtrar por combinaciones de:
    • Direcciones de origen y destino, por ejemplo, solo permitir tráfico hacia ciertos servidores, o desde ciertas máquinas hacia afuera.
    • Protocolo sobre capa 3 (UDP, TCP, ICMP, otros).
    • Puerto de capa 4 (típicamente los servicios “escuchan” en un puerto determinado, por ejemplo, HTTP:80, por lo que puedo permitir acceso a solo un servicio).
    • Interfaz de origen o destino del paquete.

Ejemplos

  • Rechazar todos los paquetes entrantes en interfaz externa con direcciones de origen internas (protección de IP Spoofing) #parcial
  • Permitir todo el tráfico desde la subred 192.0.2.0/24 al host 192.168.1.1.
  • Permitir todo el tráfico al servidor web: permitir tráfico TCP dirigido al puerto 80 de la IP 200.108.192.12.
  • Negar todo el tráfico UDP a puertos menores a 1024.
  • Permitir todo el tráfico DNS.
  • Negar todo el resto.

Filtros de paquetes con estado #parcial

  • El filtrado sin estado es poco flexible, por ejemplo, ¿cómo expresar, “dejar pasar los paquetes de regreso de una conexión establecida desde el interior”?
  • Los filtros con estado (stateful packet filters) permiten exactamente eso: pueden guardar estado dependiendo del tráfico pasado.
  • Por ejemplo, entienden la secuencia de banderas SYN, SYN+ACK, ACK necesarios para el establecimiento de conexiones TCP.

Filtros de capas superiores

  • Permiten filtrar utilizando información sobre el protocolo de aplicación.
  • Por ejemplo, solo permitir al puerto 53/UDP paquetes que tengan el formato correcto para ser una consulta DNS.
  • Pueden realizar chequeos de correcto formato de las solicitudes.
  • Pueden relacionar varios flujos, por ejemplo, permitir conexiones asociadas a un protocolo.

Generando reglas de filtrado

  • Debemos identificar los servicios en cada zona a los cuales permitiremos acceso, y desde donde, por ejemplo, aceptar correo electrónico desde cualquier lado al servidor 192.168.2.2.
  • Traducirlo a reglas sobre los paquetes, por ejemplo, permitir conexiones al puerto 25/TCP de la IP 10.168.2.2 y permitir paquetes relacionados con la regla anterior.
  • Identificar flujos asociados y generar reglas, por ejemplo, servicio ident, conviene retornar “icmp unreachable”.

¿Default permit o default deny? #parcial

  • ¿Qué sucede con los paquetes que no son clasificados?
    • Default permit: los dejo pasar.
    • Default deny: los descarto.
  • Default permit nos obliga a saber qué queremos filtrar. Siempre nos vamos a olvidar de algo.
  • Default deny nos asegura que ningún tráfico no permitido explícitamente pasará por los filtros.

¿Filtramos las conexiones salientes?

  • Una política “default permit” en el tráfico saliente es más “amigable”.
  • Los usuarios de la red pueden conectarse a servicios potencialmente maliciosos.
  • Trojanos/virus...
  • Ataques desde nuestras máquinas hacia afuera.
  • Salida de datos internos restringidos...
  • Una política “default deny” es más segura.

Capacidades de log

  • Es importante que el/los sistemas utilizados como firewall tengan capacidad de log.
    • Los logs nos pueden dar información de cómo sucedió un ataque.
  • Es conveniente que el log se guarde en un equipo separado.
    • Por si el firewall es comprometido.
  • Es importante procesar esos logs.

Servicios proxy #parcial

  • Proxy se puede traducir como “apoderado”.
  • Un servicio de proxy se encarga de realizar consultas a nombre de otro equipo.
  • Por ejemplo, si tenemos un proxy http y los equipos de escritorio se configuran para utilizarlo, cuando quiero ver la página http://www.google.com/, en realidad me conecto al proxy, y este se conecta con google.
  • En el proxy se pueden hacer chequeos de seguridad, filtrar, etc.

Pasted image 20240701204340.png

Cómo se usa un proxy

  • Aplicaciones “proxy aware” (ej. Navegadores).
  • Sistemas operativos “proxy aware” (redirigiendo automáticamente los pedidos al proxy).
  • Procedimientos de los usuarios.
  • Proxy transparente. Los paquetes del cliente son interceptados y redirigidos al proxy.
  • Los servicios que funcionan en modo “store and forward” funcionan naturalmente como proxy (ej. SMTP, NNTP, NTP).

Proxy Reverso #parcial

Pasted image 20240701204405.png

  • Interviene en las conexiones al servidor de clientes “externos”.
  • El principal objetivo es proteger al servidor de los clientes “externos”.
  • El ejemplo más conocido es el Web Application Firewall (WAF) (Apache + mod-security) #parcial
  • Podemos implementarlo para otros servidores (SMTP, IMAP, POP, SSH, etc).

Bastion hosts

  • Típicamente para proveer servicios a clientes externos, por ejemplo, servidores web, servidores de correo, etc.
  • Se encuentran expuestos a Internet.
  • Deben ser asegurados cuidadosamente.
  • Principio KISS (keep it simple, s.....).
  • Debe brindar el mínimo número de servicios.
  • Estar preparados para la eventualidad que sean comprometidos.
  • Idealmente estarán en un segmento aparte de la red.
  • Se debe filtrar el tráfico externo hacia el bastión, y también desde el bastión al resto de las redes.
  • Ejemplos de servicios: SMTP, HTTP, FTP, NNTP, DNS.

Network Address Translation

  • Muchas veces la función de NAT está incluida en los productos de firewall.
  • La idea de NAT es traducir un conjunto de direcciones (típicamente privadas) a una o pocas direcciones públicas.
  • Para ello se mantienen tablas de correspondencia (IPprivada, Puertoprivado)-> (IPpublica, Puertopublico).
  • Presenta como ventaja de seguridad, que no es posible establecer conexiones desde el lado público (a menos que estén explícitamente mapeadas).

Arquitecturas de firewall

  • Un solo equipo
    • Enrutador con filtros.
    • Hosts “dual homed”.
    • Equipos de firewall multipropósito (filtros +proxy).
  • Arquitecturas con múltiples equipos
    • Screened host.
    • Screened subnet.

Enrutador con filtros Firewall Multipropósito

Pasted image 20240701204606.png

Host “dual homed”

Pasted image 20240701204623.png

Screened Host

Pasted image 20240701204636.png

Screened Subnet

Pasted image 20240701204648.png

Variaciones

  • Claramente, se pueden realizar muchas variaciones con estas ideas.
  • Puede, por ejemplo, unificarse el enrutador exterior con el interior.
  • A la red perímetro se le suele llamar DMZ (Demilitarized Zone).
  • Puede haber más zonas. Por ejemplo, para separar los servicios de la DMZ. O para proteger algunas subredes dentro de la empresa.

Firewalls internos

  • Muchas veces los riesgos vienen de dentro de la empresa:
    • Proteger los activos críticos del común de los empleados.
    • Proteger la facultad de las redes con máquinas de estudiantes.
    • Proteger la red interna de la red experimental.
    • Proteger equipos trabajando en proyectos secretos.
    • Separar las redes de acceso wireless.

Firewalls “Personales”

  • Firewalls software, que se instalan en las propias estaciones de trabajo.
  • Muchos sistemas operativos los traen incluidos.
  • La mayoría de los UNIX.
  • Windows XP SP2.
  • En una empresa pueden servir como una segunda barrera, para evitar ataques internos.
  • En los hogares son importantes ya que son típicamente la única línea de defensa.

Sensores de Seguridad

Introducción

  • Muchos mecanismos intentan evitar las intrusiones.
  • Es imposible garantizar que se detendrán todos los ataques posibles.
  • Los sistemas de detección de intrusos apuntan a detectar los intentos de ataque, exitosos o no.

Necesidad

  • No hay medidas de seguridad infalibles.
  • Puede surgir un nuevo tipo de ataque, o ataques que no hemos previsto.
  • Puede haber errores de configuración.
  • Puede haber un error o ataque interno.
  • Puede haber equipos que (aún) no hayan sido actualizados/parchados.

IDS: Intrusion Detection System #parcial

¿Qué es un IDS?

  • Un IDS (Intrusion Detection System) consiste en un conjunto de sensores obteniendo datos, localizados en los hosts o en la red.
  • Manejados desde una consola central.
  • Se analizan los datos, se reportan las posibles intrusiones y posiblemente se reacciona.

Comunicaciones del IDS

  • Es importante que la comunicación entre la consola y los sensores esté protegida.
  • También es importante que haya un mecanismo seguro para obtener las actualizaciones de los patrones o “firmas” que distribuye el fabricante.
    • Ha habido ataques a vulnerabilidades de los IDS.
    • Las reglas de detección (patrones) se actualizan frecuentemente.

Tipos de IDS #parcial

  • Detección de uso indebido
    • Se compara la actividad con patrones de ataque, patrones de actividad que indican comportamiento sospechoso.
    • Son tan buenos como la base de patrones de ataques disponibles.
  • Detección de anomalías
    • Técnicas estadísticas para detectar intrusos.
    • Se establece el uso “normal” y se detectan diferencias.

IDS de red (NIDS)

  • Busca patrones de ataques en el tráfico de red.
  • Típicamente, un adaptador de red en modo promiscuo ubicado en un sitio adecuado de la red monitorea y analiza todo el tráfico en tiempo real.
  • Matching de patrones, expresiones o bytecode.
  • Cruce de umbrales o frecuencias.
  • Correlación de eventos menores (aún no en productos comerciales).

IDS de Host (HIDS)

  • Busca patrones de ataque en los archivos de log de los hosts.
  • Puede también chequear sumas de comprobación de archivos del sistema y ejecutables.
  • Pueden tener reglas más complejas (se ejecutó tal programa y luego se modificó tal archivo...).
  • Algunos pueden generar alertas cuando ciertos puertos de red son accedidos.

Problema: falsos negativos y falsos positivos #parcial

  • Un falso negativo es cuando el IDS no reporta una intrusión dada.
  • Un falso positivo es cuando el IDS reporta una alarma cuando no hay una intrusión.
    • Son un problema grave. Se requiere una persona con conocimiento para investigar cada alarma.
    • Son prácticamente inevitables.
    • Recordemos la historia de Pedro y el Lobo.

Falsos positivos

  • Imaginemos que 1 de cada 1.000.000 sesiones es maliciosa.
  • Supongamos que tenemos una tasa de falsos positivos de 0.01%.
  • Entonces 100 sesiones serán detectadas como falsos positivos (y con suerte una correctamente).
  • El problema es que típicamente las redes (en especial Internet) son muy “ruidosas”.
    • Muchos paquetes con problemas, no necesariamente maliciosos.

¿Acciones automáticas?

  • ¿Podemos realizar alguna acción automática en base a lo detectado?
    • Si podemos garantizar baja tasa de falsos positivos.
    • Si precisamos tal seguridad que la inconveniencia de actuar ante un falso positivo es aceptable.
  • Cuidado que puede ser utilizado para ataques de negación de servicio.

¿Dónde monitorear?

  • Fuera del firewall:
    • Veremos todos los ataques que nuestro firewall detiene.
    • ¿Vale la pena?
    • Para investigación/entrenamiento de personal sí.
  • Cerca de los equipos más importantes:
    • Seguramente más fácil determinar qué es válido y qué no.
    • Habrá menos falsos positivos, podremos habilitar reglas más “sensibles”.

¿Switches?

  • Problema: los switches no nos dejan ver el tráfico de otros puertos.
  • Puertos de monitoreo (copian el tráfico de uno o más puertos).
  • Hardware especializado (Network Taps) para “interceptar” el tráfico de uno o varios segmentos.

Honeypots

¿Qué es un Honeypot?

Un honeypot es un recurso que simula ser un objetivo real, el cual se espera que sea atacado o comprometido. Los principales objetivos son distraer a los atacantes y obtener información sobre el ataque y el atacante.

\[R. Baumann, C. Plattner\]

Un honeypot es un recurso de seguridad cuyo valor se basa en ser escaneado, atacado o comprometido.

\[L. Spitzner\]

Idea

  • La idea de un honeypot es dejar disponible un sistema que aparentemente es fácil de atacar (carnada).
  • Ese sistema (computadoras, archivos, redes) en realidad se protegen fuertemente, para evitar que quien logre comprometerlo pueda desde ahí realizar otras actividades maliciosas.
  • Es importante que estén bien protegidos. No queremos que ataques partan de nuestros equipos.

Utilidad

  • Alerta temprana:
    • Sobre nuevos ataques.
    • Sobre ataques dirigidos específicamente a nosotros.
  • Alerta sobre nuevos ataques.
  • Distracción para los atacantes.
  • Examen en profundidad de los ataques.

Valor del honeypot

  • El equipo, o dirección IP, que se utilice para el honeypot, no debe tener (ni haber tenido en el pasado) ningún uso asociado.
  • De esta manera, estamos seguros que cualquier cosa que llegue a la trampa es ilegítima. ¡¡NO HAY FALSAS ALARMAS!! #parcial
    • Spam
    • Portscans
    • Ataques

Clasificación #parcial

  • Se clasifican según la interacción que se le permite al atacante:
    • Baja interacción: Solamente una fachada de los servicios. No recopilan tantos datos.
    • Interacción media: Simulan en un entorno virtual el ambiente atacado. Permiten capturar ejemplos de herramientas de ataque, etc.
    • Alta interacción: Sistemas reales, con el tráfico desde y hacia el honeypot muy monitoreados. Se consigue mucha información.
    • Spam honeypots: Específicamente para detectar abusos de spammers tratando de explotar open-proxyes u open-relays.

Laboratorio #parcial

VPN

Posibles escenarios de uso:
...

Ventajas:

  • El cliente remoto adquiere la condición de miembro de la LAN
    Desventajas:

  • ...

  • Protocolos usados para la implementación y su uso

  • Posibles métodos de autenticación?

  • Mecanismo de autenticación con certificados.

  • Verificación de encriptación.

  • Qué es un ataque de shell reversa?

  • Cuál es el objetivo al utilizar este tipo de ataques?

  • Cómo se hace este tipo de ataque si hay un firewall que solo permite conexiones salientes al puerto 80? Mitigación?

Shell reversa

  • Un mecanismo de protección puede ser la utilización de proxy's con autenticación de tráfico web saliente.
  • Un sistema interno se conecta a un sistema externo.

Firewalls

  • Filtrado stateless:
    Usualmente se aplica en dispositivos de capa de red e implementa conjuntos de reglas estáticas que examinan los encabezados de cada paquete para permitir o denegar el tráfico, sin ninguna relación con los flujos de tráfico precedentes. Trabajan bien cuando el objetivo es filtrar aplicaciones basadas en TCP que no utilizan negociación dinámica de puertos.
  • Filtrado stateful:
    • El mecanismo asume que si se permite el inicio de la conexión, cualquier conexión adicional que requiera esa aplicación será permitida.
    • Incrementa la seguridad del filtrado básico pero no tiene nada que ver con el contenido del paquete o la implicación del tráfico.

Ejemplo

Pasted image 20240706094103.png
Genera una regla:

# ================ Table 'filter', rule set Policy  
# Rule 0 (eth1)  
#  
$IPTABLES -A OUTPUT  -o eth1  -p tcp -m tcp  -s 10.0.0.2   -d 192.168.0.0/24   --dport 22  -m state --state NEW  -j ACCEPT  

$IPTABLES -A FORWARD  -i eth1  -p tcp -m tcp  -s 10.0.0.2   -d 192.168.0.0/24   --dport 22  -m state --state NEW  -j ACCEPT
  • Primera regla: Permite la salida de paquetes TCP desde 10.0.0.2 a la subred 192.168.0.0/24 en el puerto 22 a través de la interfaz eth1 si son conexiones nuevas.
  • Segunda regla: Permite el reenvío de paquetes TCP desde 10.0.0.2 a la subred 192.168.0.0/24 en el puerto 22 que entran a través de la interfaz eth1 si son conexiones nuevas.

Firewall de aplicación

Un Firewall de aplicación, es un firewall que puede entender la semántica de los mensajes entre un cliente y un servidor para una aplicación.
Protege ante:

  • Un ataque a servicios Web utilizando SOAP como conectividad entre cliente y servidor.
  • Un ataque de fuerza bruta a passwords en una aplicación.

Ejemplos de configuraciones

Pasted image 20240706094551.png
Notar el uso de VPN en la red interna.

Desventajas:

  • Si el servidor de VPN se ve comprometido, el atacante podría tener acceso a la red interna.
  • El tráfico encapsulado en la VPN no pasa por el firewall por completo (existen aplicaciones que están a través del túnel). Esto significa que el firewall no ofrece ninguna protección contra el tráfico malicioso enviado a través de la VPN.

Pasted image 20240706094632.png
Ahora el VPN está a nivel firewall.

Ventajas:

  • El diseño de redes y la administración de sistemas es más simple porque no se necesita hardware adicional para el servidor de VPN.
  • No tiene las desventajas de antes.